/* * This file provided by Facebook is for non-commercial testing and evaluation * purposes only. Facebook reserves all rights not expressly granted. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ package com.facebook.samples.uriapp; import android.app.Activity; import android.net.Uri; import android.os.Bundle; import android.view.KeyEvent; import android.view.View; import android.view.inputmethod.EditorInfo; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import com.facebook.drawee.backends.pipeline.Fresco; import com.facebook.drawee.interfaces.DraweeController; import com.facebook.drawee.view.SimpleDraweeView; public class MainActivity extends Activity { private SimpleDraweeView mSimpleDraweeView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mSimpleDraweeView = (SimpleDraweeView) findViewById(R.id.simple_drawee_view); final EditText editText = (EditText) findViewById(R.id.uri_edit_text); editText.setOnEditorActionListener( new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { final boolean isEnterKeyDown = (actionId == EditorInfo.IME_NULL) && (event.getAction() == KeyEvent.ACTION_DOWN); if (isEnterKeyDown || actionId == EditorInfo.IME_ACTION_DONE) { updateImageUri(Uri.parse(v.getText().toString())); } return false; } }); final Button clearButton = (Button) findViewById(R.id.clear_uri); clearButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { editText.getText().clear(); } }); } private void updateImageUri(Uri uri) { DraweeController controller = Fresco.newDraweeControllerBuilder() .setUri(uri) .setAutoPlayAnimations(true) .build(); mSimpleDraweeView.setController(controller); // Trigger GC to check in logs for any unclosed CloseableReferences // DO NOT INCLUDE THIS IN YOUR OWN APPS: It is only intended for testing changes to the library Runtime.getRuntime().gc(); } }